package org.redmaple.core.support;

/**
 * redmaple-core 中指定的默认的常量值
 * 
 * @author Xiangyun
 *
 */
public class ReadmapleCoreConstant {

	/**
	 * 在redmaple-core中记录在HttpSession中的常量键值
	 */
	public static class SessionAttributeKeys {

		/**
		 * 随机验证码Key
		 */
		public static final String VALIDATE_CODE = "__redmaple_VlidateCode";

	}

	/**
	 * 在redmaple-core中记录在HttpServletRequest中的指定的参数信息
	 */
	public static class RequestParamterInfo {

		/**
		 * 请求分页数据时，指定要获取的页号key值
		 */
		public static final String REQUEST_PAGENO_NAME = "page";

		/**
		 * 请求分页数据时，指定要获取多少条数据key值
		 */
		public static final String REQUEST_PAGESIZE_NAME = "rows";

		/**
		 * 请求分页数据时，指定要排序的属性信息key值
		 */
		public static final String REQUEST_PAGESORTPROPERTY_NAME = "sort";

		/**
		 * 请求分页数据时，指定排序的方向key值
		 */
		public static final String REQUEST_PAGESORTDIRECT_NAME = "order";

		/**
		 * 请求数组数据时，默认的分隔标识符
		 */
		public static final String REQUEST_DEFAULT_DATA_SEPARATOR = ",";

		/**
		 * 请求数据是否使用了Redmaple内置的参数类型格式 key
		 */
		public static final String REQUEST_IS_INNER_PARAMTER_TYPE_OF_REDMAPLE_NAME = "_redmaple_InnerParamType";

		/**
		 * 如果请求数据使用了Redmaple内置的参数类型格式，则会在request的attributes中记录解析结果，
		 * REQUEST_ATTR_PARAMTER_NAME 是记录解析结果的key
		 */
		public static final String REQUEST_ATTR_PARAMTER_NAME = "_redmaple_paramters";
	}

	/**
	 * 在redmaple-core中验证码的常量值
	 */
	public static class ValidateCode {

		/**
		 * 生成的验证码格式
		 */
		public static final String PATTERN = "JPEG";

		/**
		 * 在request获取验证码时，用于指定验证码的宽度key
		 */
		public static final String REQUEST_VALIDATECODE_WIDTH = "_width";

		/**
		 * 在request获取验证码时，用于指定验证码的高度key
		 */
		public static final String REQUEST_VALIDATECODE_HEIGHT = "_height";

		/**
		 * 验证码随机取用的字符
		 */
		public static final char[] VALIDATE_CODE_CHARS = { 'A', 'B', 'C', 'D',
				'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R',
				'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '2', '3', '4', '5',
				'6', '7', '8', '9' };

		/**
		 * 验证码采用的字体类型
		 */
		public static final String[] VALIDATE_CODE_FONTTYPES = {
				"\u5b8b\u4f53", "\u65b0\u5b8b\u4f53", "\u9ed1\u4f53",
				"\u6977\u4f53", "\u96b6\u4e66" };
	}
}
